home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Internet / WWW / Perl_WWW_Utilities / MHonArc / CHANGES < prev    next >
Encoding:
Text File  |  1996-04-18  |  16.2 KB  |  456 lines

  1. CHANGES for MHonArc
  2.  
  3.     <URL:http://www.oac.uci.edu/indiv/ehood/mhonarc.html>
  4.  
  5. Revision history for MHonArc.  Changes listed are brief.  Consult
  6. the documentation for further information/clarification.
  7.  
  8. MM/DD/YY
  9. =======================================================================
  10. #######################################################################
  11. =======================================================================
  12. 04/18/96    (1.2.2)
  13.  
  14.     o  Increased the speed performance of base64 decoding.  Speed
  15.        increase is much greater under Perl 4 than Perl 5.
  16.  
  17.     o  Added -time option to print out total CPU execution time.
  18.        Mainly used for debugging reasons (like checking on
  19.        base64 decoding times).  Time information is sent to
  20.        standard error.
  21.  
  22.     o  Added M2H_LOCKDELAY envariable and -lockdelay option.
  23.        Either can be used to adjust the sleep time between
  24.        attempts to lock the archive.
  25.  
  26.     o  Added -force option to override a lock on an archive if
  27.        attempts to lock fail.
  28.  
  29.     o  Added image/x-bmp and image/x-pcx to the default supported
  30.        MIME types.
  31.  
  32.     o  Ignore "Sv:" at the beginning of subjects when sorting by
  33.        subject.  "Sv:" is Danish for "Re:".
  34.  
  35.     o  Fixed bug in mhutil.pl where TIDXPGEND actually set
  36.        TIDXPGBEG.
  37.  
  38.     o  Dynamically define exclude_field routine after reading
  39.        user options.  exclude_field is utilized when formatting
  40.        a message header in HTML.  Defining the routine at run-time
  41.        helps reduce the regular expression overhead the old version
  42.        of the routine entailed.  There should be an increase in
  43.        overall execution time.
  44.  
  45. =======================================================================
  46. 03/22/96    (1.2.1)
  47.  
  48.     o  Added support for x-uuencode content-transfer-encoding.
  49.  
  50.     o  Added -locktries command-line option.
  51.  
  52.     o  Added the resource variable $OUTDIR$.
  53.  
  54.     o  mhexternal.pl filter will use the name parameter string
  55.        on the content-type field as the anchor text to the file
  56.        if there is no content-description.
  57.  
  58.     o  application/x-patch is recognized and processed by the
  59.        text/plain filter (mhtxtplain.pl).
  60.  
  61.     o  Fixed bug in install.me and osinit.pl where setting
  62.        $'PROG caused perl to terminate if $'DIRSEP was a backslash
  63.        (occured under MS-DOS usage).
  64.  
  65.     o  Fixed bug in install.me in the create_dir routine.
  66.        If $DIRSEP was a backslash, the regular expression setting
  67.        @a would cause perl to abort with an error.
  68.  
  69.     o  Fixed database bug where the MIMEARGS resource setting
  70.        was not being stored.
  71.  
  72.     o  Fixed index listing bug where a reverse listing was not
  73.        correct if an index size was specified less than the
  74.        current size of the archive.
  75.  
  76. =======================================================================
  77. 03/01/96    (1.2.0)
  78.  
  79.     o  Rewrote message parser routine so it will work under Perl 5
  80.        for multipart messages.  The rewrite also allows some
  81.        additional features that are mentioned below.
  82.  
  83.     o  The -mbox and -mh options are no longer required.  MHonArc
  84.        will automatically determine which mode to operate in
  85.        based upon the file arguments.  Hence, one can specify
  86.        MH folders and mailbox files on the same command-line.
  87.        Both options are ignored if specified.
  88.  
  89.     o  An HTML index of an archive contents can be generated to
  90.        standard output (-genidx).
  91.  
  92.     o  Message header lines not conforming to RFC 822 are ignored.
  93.        (Eg: Those pesky "From " lines should not show up anymore --
  94.         please do not confuse this with the regular "From:" lines;
  95.         note the colon vs the space).
  96.  
  97.     o  New resources:
  98.  
  99.         BOTLINKS    - May be used to completely customize
  100.                   the links at the bottom of messages.
  101.         IDXPGBEGIN    - Opening markup for main index page.
  102.                   Allows one to redefine opening HTML
  103.                   element, HEAD element, TITLE element,
  104.                   opening BODY element, etc.
  105.         IDXPGEND    - Closing markup for main index page.
  106.         IDXSIZE        - Set the maximum number of messages
  107.                   listed in index.  This is different
  108.                   in MAXSIZE where MAXSIZE will remove
  109.                   older messages when the MAXSIZE limit
  110.                   is reached in the archive.
  111.         MIMEARGS    - Define arguments to filters
  112.         MSGPGBEGIN    - Opening markup for message pages.
  113.                   Allows one to redefine opening HTML
  114.                   element, HEAD element, TITLE element,
  115.                   opening BODY element, etc.
  116.         MSGPGEND    - Closing markup for message pages.
  117.         NEXTBUTTON    - Defines the 'Next' button.
  118.         NEXTBUTTONIA    - Defines the 'Next' button when it is
  119.                   inactive.
  120.         NEXTLINK    - Defines the 'Next' link.
  121.         NEXTLINKIA    - Defines the 'Next' link when it is
  122.                   inactive.
  123.         NOTSUBSORT    - Do not sort threads by subject.
  124.         OTHERINDEXES    - List other resource files defining
  125.                   other indexes to create when creating,
  126.                   or updating, an archive.
  127.         PREVBUTTON    - Defines the 'Prev' button.
  128.         PREVBUTTONIA    - Defines the 'Prev' button when it is
  129.                   inactive.
  130.         PREVLINK    - Defines the 'Prev' link.
  131.         PREVLINKIA    - Defines the 'Prev' link when it is
  132.                   inactive.
  133.         TIDXPGBEGIN    - Opening markup for thread index page.
  134.                   Allows one to redefine opening HTML
  135.                   element, HEAD element, TITLE element,
  136.                   opening BODY element, etc.
  137.         TIDXPGEND    - Closing markup for thread index page.
  138.         TOPLINKS    - May be used to completely customize
  139.                   the buttons at the top of messages.
  140.         TSUBSORT    - Sort threads listed by subject.
  141.  
  142.     o  Removed resources:
  143.  
  144.         INDEXBL, INDEXFL, MBOX, MH, NEXTBL, NEXTFL, PREVBL,
  145.         PREVFL, TINDEXBL, TINDEXFL
  146.  
  147.        Resource were removed because they were no longer applicable
  148.        and/or have been superceded by other resources.  MHonArc
  149.        will still honor old resource settings (where applicable) of
  150.        older archives and incorporate them into the new resource
  151.        settings.
  152.  
  153.     o  When specifying the resource file, mhonarc will now do
  154.        the following to determine its location:
  155.  
  156.         1.  If its an absolute pathname, mhonarc uses it.
  157.         2.  If it is a relative pathname, mhonarc checks for
  158.             it relative to the current working directory.
  159.         3.  Otherwise, mhonarc checks for it relative to
  160.             location of the archive as specified by outdir.
  161.  
  162.        This resolution will allow you to place resource files with
  163.        the archive if desired (can be useful when using the
  164.        OTHERINDEXES resource element).
  165.  
  166.     o  Because of the new resources available, many <HR>'s are no
  167.        longer hard-coded and are controllable by resources.  <HR>'s
  168.        are still used in message pages to separate message data
  169.        from mhonarc data.
  170.  
  171.     o  Added resource variables:
  172.        (NOTE: Some variables are only valid in certain contexts)
  173.  
  174.         $DDMMYY$    - Date of message in dd/mm/yy format
  175.         $IDXSIZE$    - Max size of index list
  176.         $MMDDYY$    - Date of message in mm/dd/yy format
  177.         $MSGID$        - Message id
  178.         $NEXTBUTTON$    - Next button markup
  179.         $NEXTFROM$    - From field of next listed message
  180.         $NEXTFROMADDR$    - From e-mail address of next listed message
  181.         $NEXTFROMNAME$    - From name of next listed message
  182.         $NEXTLINK$    - Next link markup
  183.         $NEXTMSGNUM$    - Number of next listed message
  184.         $NEXTSUBJECT$    - Subject text of next listed message
  185.         $NUMOFIDXMSG$    - Number of messages in index list
  186.         $PREVBUTTON$    - Previous button markup
  187.         $PREVFROM$    - From field of previous listed message
  188.         $PREVFROMADDR$    - From e-mail address of prev listed message
  189.         $PREVFROMNAME$    - From name of previous listed message
  190.         $PREVLINK$    - Previous link markup
  191.         $PREVMSGNUM$    - Number of previous message
  192.         $PREVSUBJECT$    - Subject text of previous listed message
  193.         $YYMMDD$    - Date of message in yy/mm/dd format
  194.  
  195.     o  Can specify a 'U' with variable length specifier to denote
  196.        replacement string is to be used in a URL.  Examples:
  197.  
  198.         $SUBJECTNA:40U$
  199.         $MSGID:U$
  200.  
  201.        The 'U' causes the replace text to have special characters
  202.        escaped as denoted by the URL spec.  NOTE: Specify ":U"
  203.        should NOT be used in the MAILTOURL resource; the variables
  204.        will automatically be expanded according to the URL spec.
  205.        Specifyind ":U" or a length specifier in the MAILTOURL
  206.        resource will prevent mhonarc from detecting the variable.
  207.  
  208.     o  New command-line options:
  209.  
  210.         -genidx        - Generate HTML index of archive contents
  211.                   to stdout.
  212.         -idxsize    - Maximum number of messages shown in indexes
  213.         -notsubsort    - Do not sort threads listed by subject.
  214.         -savemem    - Write message data while processing
  215.         -tsubsort    - Sort threads listed by subject.
  216.  
  217.     o  The library mhtxt2022.pl has been added that provides
  218.        a filter to process ISO-2022 (Japanese) encoded mail messages.
  219.        See mhtxt2022.pl on how to hook it in.
  220.  
  221.     o  The mhexternal.pl filter by default ignores any filename
  222.        specification in the message for creating derived files.
  223.        This avoids name conflicts and security problems.
  224.        The "usename" filter option may be used to override this.
  225.  
  226.     o  Mime filters are now called with two additional arguments:
  227.  
  228.         $converted_data = &function(
  229.             $header, *parsed_header_assoc_array,
  230.             *message_data, $decoded_flag,
  231.             $optional_filter_arguments);
  232.  
  233.        The $decoded_flag is set to 1 if the *message_data has been
  234.        decoded.  $optional_filter_arguments contains an optional
  235.        argument string as determined by the filter.
  236.  
  237.     o  Mime filters can now be registered for multipart types
  238.        and message types.  This allows one to override mhonarc's
  239.        conversion of these types, and completely replace mhonarc's
  240.        message->HTML conversion process.
  241.  
  242.     o  Mime filters should now use $'FieldSep instead of $'X for
  243.        accessing parsed message headers.
  244.  
  245.     o  Mime filters can be registered for a base type.  Ie.
  246.        It is no longer required to explicitly list each possible
  247.        subtype if a single filter is to be used for them all.
  248.        Example:
  249.  
  250.         <mimefilters>
  251.         image/*:myfilter'imagefilter:myfilter.pl
  252.         </mimefilters>
  253.  
  254.        Registers "myfilter'filter" for all image data types,
  255.        regardless of subtype.  However, if an explicit entry
  256.        exists for a subtype, then that filter is called.
  257.        Example:
  258.  
  259.         <mimefilters>
  260.         image/*:myfilter'imagefilter:myfilter.pl
  261.         image/gif:myfilter'giffilter:myfilter.pl
  262.         </mimefilters>
  263.  
  264.        "myfilter'giffilter" is called for all image/gif data.
  265.        "myfilter'imagefilter" is called for all other image data.
  266.  
  267.     o  A new resource, MIMEARGS, may be used to pass optional arguments
  268.        to filters to control their behavior.  The format of the
  269.        argument string is controlled by the various filters.  The
  270.        arguments can be specified by a specific content-type, or
  271.        for the filter routine in general.  A content-type argument
  272.        will be used over any arguments specified for a filter.
  273.  
  274.        Example usage:
  275.  
  276.         <mimeargs>
  277.         image/gif:inline usename
  278.         m2h_external'filter:usename
  279.         </mimeargs>
  280.  
  281.        See the documentation for possible arguments to filters.
  282.  
  283.     o  Installation program can now be invoked in batch mode.
  284.  
  285.     o  Thread index properly includes docurl as main index.
  286.        -nodocurl will prevent the inclusion as with the main index.
  287.  
  288.     o  Fixed bug in mhtxthtml.pl on properly propogating a base
  289.        URL to relative URLs starting with a "/".
  290.  
  291.     o  Fixed bug where single quotes, and backslashed in keys of
  292.        associative arrays in the database file were not getting
  293.        escaped.
  294.  
  295.     o  Fixed bug where spaces and special characters were not
  296.        properly escaped in URL strings: spaces were left as-is,
  297.        and special characters were deleted.
  298.  
  299.     o  Removed illegal invocation choices in the Synopsis of the
  300.        documentation.
  301.  
  302. =======================================================================
  303. 04/24/95    (1.1.1)
  304.  
  305.     o  Fixed bug in -scan output where month in date was off by
  306.        one.
  307.  
  308. =======================================================================
  309. 04/21/95    (1.1.0)
  310.  
  311.     o  Made modifications to make MHonArc suitable to run
  312.        under MS-DOS without modification.  MHonArc will
  313.        automatically detect if it is running under Unix or MS-DOS.
  314.  
  315.     o  Added support for a thread index.  MHonArc will create a
  316.        complimentary index to the main index showing message
  317.        threads.
  318.  
  319.     o  Archive messages can be deleted.
  320.  
  321.     o  A listing to stdout of an archives contents can be
  322.        generated.
  323.  
  324.     o  Maximum number of messages for an archive can be set.
  325.        Older messages (based on sort method) are removed
  326.        automatically during add operations.
  327.  
  328.     o  MHonArc will now recognize if you try to add in a message
  329.        that already exists in an archive.
  330.  
  331.     o  The -editdx option will now also cause a updating of all
  332.        mail messages.  Guarantees resource changes to affect all
  333.        messages.
  334.  
  335.     o  Added the following resource file elements:
  336.  
  337.         MSGFOOT        -- Footer text for converted messages
  338.         MSGHEAD        -- Header text for converted messages
  339.         NODOC        -- Do not put link to documentation
  340.         NOTHREAD    -- Do not create thread index
  341.         TFOOT        -- Text at bottom of thread index page
  342.         THEAD        -- Text at top of thread index page
  343.         THREAD        -- Create thread index
  344.         TLEVELS        -- Depth of thread listing
  345.         TLITXT        -- Template text for entry in thread
  346.                    index
  347.         TIDXFNAME    -- Thread index filename
  348.         TINDEXBL    -- Top button label in messages to
  349.                    thread index
  350.         TINDEXFL    -- Verbose label in message to thread
  351.                    index
  352.         TTITLE        -- Title of thread index page
  353.  
  354.     o  Added the following command-line options:
  355.  
  356.         -maxsize    -- Maxinum # messages in an archive
  357.         -nodoc        -- Do not put link to documentation
  358.         -nothread    -- Do not create thread index
  359.         -rmm        -- Remove messages from an archive
  360.         -scan        -- Listing of archive to stdout
  361.         -thread        -- Create thread index
  362.         -tidxfname    -- Thread index filename
  363.         -tlevels    -- Depth of thread listing
  364.         -ttitle        -- Title of thread index page
  365.  
  366.     o  Added the following environment variables:
  367.  
  368.         M2H_MAXSIZE    -- Maxinum # messages in an archive
  369.         M2H_THREAD    -- If non-zero, create thread index
  370.         M2H_TIDXFNAME    -- Thread index filename
  371.         M2H_TLEVELS    -- Depth of thread listing
  372.         M2H_TTITLE    -- Title of thread index page
  373.  
  374.     o  Added the following variables for template resources
  375.        (applicability of variables vary depending on the resource):
  376.  
  377.         $DOCURL$    -- URL to documentation
  378.         $IDXFNAME$    -- Main index page filename
  379.         $IDXTITLE$    -- Main index page title
  380.         $NEXTMSG$    -- Next message filename
  381.         $PREVMSG$    -- Previous message filename
  382.         $PROG$        -- Program name
  383.         $TIDXFNAME$    -- Thread index page filename
  384.         $TIDXTITLE$    -- Thread index page title
  385.         $VERSION$    -- Version number of the program
  386.  
  387.     o  Added $FROM$, $MSGID$, and $SUBJECT$ variables to be used
  388.        in the MAILTOURL resource.
  389.  
  390.     o  The string `$$' in template resources will produce a `$' in
  391.        the output.
  392.  
  393.     o  Fixed problem with messages (with follow-ups) getting
  394.        unnecessarily updated when messages are added to an archive.
  395.  
  396.     o  Only a CR/LF, or LF, pair will terminate a message head.
  397.        Before, MHonArc was terminating message heads when
  398.        encountering an empty line or a line that only contained
  399.        whitespace (which was incorrect behavior).
  400.  
  401.     o  Fixed bug in mhexternal.pl dealing with the `name' parameter
  402.        in the content-type field.  Surrounding "s or 's were not
  403.        being deleted causing filenames with quotes to be written.
  404.  
  405.     o  mhexternal.pl: The head of a pathname in the `name'
  406.        parameter in the content-type field is stripped off before
  407.        writing the external file.  I.e. Only the base filename is
  408.        used.
  409.  
  410.     o  Only one <HR> after the H1 subject in messages will appear
  411.        if no message header fields are printed.
  412.  
  413.     o  Added recognition of the following content-types in
  414.        mhexternal.pl:
  415.  
  416.         application/mac-binhex40
  417.  
  418.     o  Added a extras/ directory containing useful programs for
  419.        MHonArc.  See README in the directory for information on
  420.        the programs contained in there.
  421.  
  422.     o  To support -rmm, MIME filters now return an array.  The
  423.        first array value is the HTML for the message, and any other
  424.        array values are filenames of files generated by the
  425.        filter.  This allows MHonArc to know of any extra files that
  426.        must be deleted when a message is removed.
  427.  
  428.     o  Some routines from the main mhonarc source file have been
  429.        moved into a separate librarys: readmail.pl, mhdb.pl,
  430.        mhutil.pl
  431.  
  432.     o  The default URL to the documentation is now,
  433.  
  434.         http://www.oac.uci.edu/indiv/ehood/mhonarc.html
  435.  
  436.        The old URL,
  437.  
  438.         http://www.oac.uci.edu/indiv/ehood/mhonarc.doc.html
  439.  
  440.        is still valid.
  441.  
  442.     o  There's probably other stuff, but I cannot remember.
  443.  
  444.  
  445. =======================================================================
  446. 10/01/94    (1.0.0)
  447.  
  448.     o  First release -- See RELNOTES about compatibility issues
  449.        with mail2html.
  450.  
  451.  
  452. =======================================================================
  453. #######################################################################
  454. =======================================================================
  455. Earl Hood, ehood@convex.com
  456.